Erasure channel is an important type of channel model, for example, files are transmitted on the Internet based on data packet communications, and generally each data packet is either received by a receiver correctly or not received by the receiver at all. Error detection and retransmission mechanism adopted in Transmission Control Protocol (TCP) regarding to network packet loss is to control the data packets that need to be retransmitted by using the feedback channel from an input end to an output end. When the receiver detects packet loss, it will generate a retransmitting control signal, until the data packets are received completely and correctly; when the receiver receives a data packet, it will likewise generate a receiving confirmation signal. Also the sender will track every data packet until a notification signal is fed back, otherwise it will resend the data packet.
A data broadcasting service based on a stream mode and a file download mode is a point-to-multipoint service, in which feedback is not allowed, so traditional error detection and retransmission mechanism may not be applied, and Forward Error Correction (FEC) has to be adopted to ensure reliable transmission. FEC codes of the classical application layer include Reed-Solomon (RS) codes, digital Fountain codes and so on. Encoding/decoding of RS codes is of high complexity, so RS codes are usually applied to short codes. Luby Transform (LT) codes and Raptor codes are two types of digital Fountain codes that have practical applications. LT codes have linear encoding and decoding time, with essential enhancement in comparison with RS codes, but Raptor codes adopts precoding technique, so Raptor codes have a greater decoding efficiency. Raptor codes are adopted as a FEC encoding scheme in both 3GPP Multimedia Broadcast/Multicast Service (MBMS) and Digital Video Broadcasting (DVB).
As a group of code blocks with constant length, linear block codes are denoted as (n, k) and are usually used for FEC. During the encoding, k information bits are encoded into an n-bit code block. Since 2k code words of the block codes (n, k) constitute a k-dimensional subspace, the 2k code words may definitely be generated by k linearly independent basements, and if the k linearly independent basements are written in a form of matrix, then
      G    =          [                                                  g                              1                ,                                  n                  -                  1                                                                                        g                              1                ,                                  n                  -                  2                                                                          …                                              g                              1                ,                0                                                                                        g                              2                ,                                  n                  -                  1                                                                                        g                              2                ,                                  n                  -                  2                                                                          …                                                              g                                  2                  ,                  0                                            ⁢                                                                                                        ⋮                                ⋮                                                                                          ⋮                                                              g                              k                ,                                  n                  -                  1                                                                                        g                              k                ,                                  n                  -                  2                                                                          …                                              g                              k                ,                0                                                        ]        ,
wherein, any code word in the block codes (n, k) may be generated by a linear combination of this group of basements, namely
  C  =            m      ·      G        =                  [                                                            m                1                                                                    m                2                                                    …                                                      m                                  n                  -                  k                                                                    ]            ·                        [                                                                      g                                      1                    ,                                          n                      -                      1                                                                                                                    g                                      1                    ,                                          n                      -                      2                                                                                                  …                                                              g                                      1                    ,                    0                                                                                                                        g                                      2                    ,                                          n                      -                      1                                                                                                                    g                                      2                    ,                                          n                      -                      2                                                                                                  …                                                              g                                      2                    ,                    0                                                                                                      ⋮                                            ⋮                                                                                                                          ⋮                                                                                      g                                      k                    ,                                          n                      -                      1                                                                                                                    g                                      k                    ,                                          n                      -                      2                                                                                                  …                                                              g                                      k                    ,                    0                                                                                ]                .            
Here G is called a generator matrix of codes. Obviously, for each row of the generator matrix only linear independence needs to be satisfied (disregarding of the minimum distance), but the basements of a k-dimensional space may be composed of k selected linearly independent vectors, so the generator matrix G of codes is not unique, no matter which form is adopted, however, they generate the same subspace, namely the same (n, k) block codes.
If the first k bits of the encoded code words are the same as information bits, this code is called systematic code. The encoding procedure is that of generating n-bit code length by k information bits, and error detection and error correction are implemented by adding n-k check bits.
LT codes are also encoded by using the sparsity of the generator matrix, in comparison with the Low Density Generator Matrix Code (LDGC) of ZTE Corporation, LT codes do not support encoding method of systematic codes, so it is difficult for LT codes to meet the requirement of some practical FEC encoding; Raptor codes support systematic codes, but need a separate precoding procedure, namely need a precoding matrix, therefore, leading to a higher encoding complexity, while the LDGC directly uses a generator matrix to encode without needing an extra precoding matrix, and the LDGC takes use of back substitution method to solve an upper (or a lower) triangular function while encoding, so the encoding complexity of the LDGC is much lower than that of Raptor codes. In a word, compared with LT codes, the LDGC has an advantage in supporting systematic codes; compared with Raptor codes, the LDGC has an advantage in lower encoding complexity.